<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <link href="../style.css" rel="stylesheet" type="text/css">
    <link rel="icon" href="../images/PETSc_RGB-logo.png" type="image/png" sizes="16x16">
    <title>PETSc: DMNetwork</title>
  </head>
  <body>

    <div id="header">
      <h1>PETSc DMNetwork</h1>
    </div>

    <hr>

    <div id="sidebardmnetwork">
      <ul>
        <li><a href="../index.html">PETSc</a></li>
        <li><a href="../documentation/index.html">Documentation</a></li>
        <li>
          <!-- <a href="../dmnetwork/index.html">DMNetwork</a> -->
          <span class="current">DMNetwork</span>
          <ul>
            <li><a href="case_studies.html">Case Studies</a></li>
            <li><a href="tutorials.html">Tutorials</a></li>
            <li><a href="publications.html">Publications</a></li>
          </ul>
        </li>
      </ul>
    </div>

    <div id="maindmnetwork">

      <p>
        PETSc DMNetwork provides a powerful flexible scalable framework for simulation of multiphysics
        phenomena over large-scale networked systems. It eases the applications development cycle by providing the necessary infrastructure through simple abstractions to define and query the network components.</p>

        Some complex systems that could exploit PETSc DMNetwork include critical infrastructures (power, water, gas, transportation,
        and telecommunicaiton), human body (brain and blood circulation), ecology (foodweb and pollinator-plant), disease (epidemic and virus-host networks) and other social networks.
      </p>

   </div>

    <div id="below">
    <center>
        <img alt="" src="images/network.jpg"/>
    </center>

      <p>
        PETSc DMNetwork provides data and topology management, parallelization for multiphysics systems over a network, and hierarchical and composable solvers to exploit the problem structure. The key features of DMNetwork include creating the network layout,
        partitioning for efficient parallelism, parallel data movement, utility routines for extracting
        connectivity information, and linear, nonlinear,
        and time-stepping solvers.</p>

        The steps for using DMNetwork is illustrated in the figure below; they include:
        (i) Create network graph, (ii) Add physics components, and variables to the network elements (edges and vertices),
        (iii) Distribute the populated network to multiple processors,
        and (iv) decompose the domains and associate them with their respective linear, nonlinear, time-stepping solvers.
      </p>

      <center>
        <img alt="" src="images/dmnetwork.png"/>
      </center>
    <hr>

    </div>


  </body>
</html>
